package com.xf.tourismapp.activities;

import android.content.Context;
import android.graphics.Bitmap.Config;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.text.Html;
import android.view.Window;
import android.widget.RelativeLayout;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageRequest;
import com.android.volley.toolbox.Volley;
import com.xf.tourismapp.R;

import java.util.HashMap;


/**
 * 
 * 景点详细信息的Activity
 * 景点数据是从主界面-首页景点列表传过来，不用再次进行服务器访问。
 *
 */
@SuppressWarnings("deprecation")
public class SpotDetailActivity extends AppCompatActivity {
	private RelativeLayout rl_spotPic;//RelativeLayout用来显示景点图片

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		 //设置无标题
        requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_spot_detail);
		initView();
	}
	
	
	/**
	 * 初始化操作
	 */
	@SuppressWarnings("unchecked")
	public void initView(){
		//Context
		Context context = this;
		
		rl_spotPic = findViewById(R.id.rl_spotPic);
		//显示景点位置的TextView
		TextView tv_position = findViewById(R.id.tv_position);
		//显示景点介绍的TextView
		TextView tv_introduce = findViewById(R.id.tv_intro);
//		//执行界面渐入动画，利用AnimationUtils.loadAnimation将动画加载
//		animation= AnimationUtils.loadAnimation(this, R.anim.in);
//		//然后再想要实现动画效果的控件上通过使用startAnimation()方法进行添加。
//		spot_detail_container.startAnimation(animation);
		//提供HashMap获取数据
		//获取从主界面传过来的景点信息
		HashMap<String, Object> map = (HashMap<String, Object>) getIntent().getSerializableExtra("map");
		
		/*Volley框架进行网络图片访问**/
		RequestQueue requestQueue = Volley.newRequestQueue(context);

		//参数3、4表示图片宽高,Bitmap.Config.ARGB_8888表示图片每个像素占据4个字节大小
		ImageRequest imageRequest = new ImageRequest(
				com.xf.tourismapp.constant.Config.URL_WEB_SERVER+ map.get("picture").toString(),
				response -> {
					//设置一下RelativeLayout的背景图片，用景点的图片进行填充
					rl_spotPic.setBackground(new BitmapDrawable(getResources(),response));
				},0,0, Config.ARGB_8888, error -> {
					// 设置加载失败后的默认图片
					rl_spotPic.setBackgroundResource(R.mipmap.ic_pic_normal);
				});
		requestQueue.add(imageRequest);
		
		//加数据显示到TextView
		tv_position.setText(map.get("position").toString());
		tv_introduce.setText(Html.fromHtml(map.get("introduction").toString()));
		//返回TextView的操作
		//返回TextView,点击后,返回
		TextView tv_black = findViewById(R.id.tv_black);
		tv_black.setOnClickListener(v -> SpotDetailActivity.this.finish());
	}
}
